Some service providers use fraud detection systems to distinguish between legitimate and fraudulent transactions. For example, an online bank may employ a risk score engine of a fraud detection system to assign risk scores to banking transactions where higher risk scores indicate a higher risk of fraud.
In generating a risk score, the risk score engine takes input values of various transaction attributes (e.g., time of receipt, IP address, geolocation) of a current transaction. In the above-mentioned example, for each customer of the online bank, there is an associated profile based on values of the attributes associated with previous transactions involving that customer. The risk score generated by the risk score engine also depends on the profile associated with the customer. Significant variation of one or more attribute values in the current transaction from those in the customer's profile may cause the risk score engine to generate a high risk score indicative of the banking transaction having a high risk of being fraudulent.
Some fraud detection systems undergo “training.” Such fraud detection systems use empirical models based on simulated, or training, customer profile and transaction data to predict the variations in customer profiles that determine the risk of a transaction being fraudulent. A conventional system for training fraud detection systems builds such models around transaction attributes such as those described above. The conventional system generates the models from statistical analyses of these transaction attributes for a set of customers.